1. useEffect如何使用

import {useEffect} from 'react'

useEffect(()=>{
    return ()=>{

    }
},[])

2. react-router-dom 

BrowserRouter 监听浏览器地址栏变化
Route   定义路由规则  <Route path="/路径" component={组件名}></Route>
Link   修改路径但是不发送请求  <Link to="/目标路径">文本</Link>

匹配模式: 
pathname: 浏览器地址栏的路径
path: Route中的path
模糊匹配(模糊): pathname以path开头  
精确匹配: pathname和path一致  exact

Switch 用来包裹Route,前面的Route匹配成功,后面就不匹配了
NavLink 和Link作用一致,只是会自动添加类型,帮我们快速实现高亮
Redirect 重定向  <Redirect from="/起始路径" to="/目标路径"></Redirect>


编程式导航

history

push('/目标路径', 要传递的数据)  添加历史记录
replace('/目标路径', 要传递的数据) 替换历史记录

match 

params  获取路由参数  在Route的path属性的位置配置路由参数  <Route path="/路径/:路由参数"></Route>

location

state  获取push或replace第二参数的数据


withRouter(高阶组件的函数) 给非路由组件传递history,location和match 

嵌套路由: 子级路由在定义路径时,要在前面加上所有父级路由的路径